.\"-
.\" Copyright (c) 2008 Rui Paulo
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd September 5, 2017
.Dt AMDTEMP 4
.Os
.Sh NAME
.Nm amdtemp
.Nd device driver for
.Tn AMD
processor on-die digital thermal sensor
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following line in your
kernel configuration file:
.Bd -ragged -offset indent
.Cd "device amdtemp"
.Ed
.Pp
Alternatively, to load the driver as a
module at boot time, place the following line in
.Xr loader.conf 5 :
.Bd -literal -offset indent
amdtemp_load="YES"
.Ed
.Sh DESCRIPTION
The
.Nm
driver provides support for the on-die digital thermal sensor present
in
.Tn AMD
Family 0Fh, 10h, 11h, 12h, 14h, 15h, 16h, and 17h processors.
.Pp
For Family 0Fh processors, the
.Nm
driver reports each core's temperature through sysctl nodes, named
.Va dev.amdtemp.%d.core{0,1}.sensor{0,1} .
The driver also creates
.Va dev.cpu.%d.temperature
in the corresponding CPU device's sysctl tree, displaying the maximum
temperature of the two sensors located in each CPU core.
.Pp
For Family 10h, 11h, 12h, 14h, 15h, 16h, and 17h processors, the driver reports
each package's temperature through a sysctl node, named
.Va dev.amdtemp.%d.core0.sensor0 .
The driver also creates
.Va dev.cpu.%d.temperature
in the corresponding CPU device's sysctl tree, displaying the temperature
of the shared sensor located in each CPU package.
.Sh SYSCTL VARIABLES
The following variable is available as both
.Xr sysctl 8
variable and
.Xr loader 8
tunable:
.Bl -tag -width indent
.It Va dev.amdtemp.%d.sensor_offset
.El
Add the given offset to the temperature of the sensor.
Default is 0.
.Sh SEE ALSO
.Xr coretemp 4 ,
.Xr loader 8 ,
.Xr sysctl 8
.Sh HISTORY
The
.Nm
driver first appeared in
.Fx 7.1 .
.Sh AUTHORS
.An Rui Paulo Aq Mt rpaulo@FreeBSD.org
.An Norikatsu Shigemura Aq Mt nork@FreeBSD.org
.An Jung-uk Kim Aq Mt jkim@FreeBSD.org
.Sh CAVEATS
For Family 10h and later processors,
.Do
(the reported temperature) is a non-physical temperature measured on
an arbitrary scale and it does not represent an actual physical
temperature like die or case temperature.
Instead, it specifies the processor temperature relative to the point
at which the system must supply the maximum cooling for the processor's
specified maximum case temperature and maximum thermal power dissipation
.Dc
according to
.Rs
.%T BIOS and Kernel Developer's Guide (BKDG) for AMD Processors
.%U http://developer.amd.com/resources/developer-guides-manuals/
.Re
